A keyboard is the most common way for a user to enter input into a computer. Keyboards comprise a plurality of keys, each of which is associated with the character of a language. Keyboards typically support chording where multiple keys pressed at the same time result in a mapping of another character. For example pressing an “A” on a U.S. English keyboard will result in a lower case “a”, but pressing the “A” with a “Shift” key will result in a capital “A”. In this way, a user may rapidly enter text into a computer without any omission of characters supported in the user's language.
Different languages have character sets differing in symbols used and symbol frequency. Accordingly, different locales use different keyboards. A U.S. English speaker will preferentially use a U.S. English keyboard and an Arab speaker will preferentially use an Arabic language keyboard.
However, those seeking to communicate in Arabic often do not have access to Arabic keyboards. Rather, they have access to Latin keyboards. Examples include Arab expatriates living in countries where Arabic is not the dominant language, or Arabs working for Western companies where the dominant work language is English.
In those circumstances, users may enter Romanized Arabic, also known alternatively as Arabizi, Arabish and Franco-Arabic, where Latin character sequences are used in lieu of the Arabic character set. For example, “al-walad” is the Romanized Arabic expression for the Arabic word for “child.” Romanization exists in many contexts such as pinyin which is a Romanization for Mandarin Chinese.
Computer software is capable of converting Romanized language input into the native character set in a process called transliteration. Many sites presently exist for providing transliteration, including for Semitic languages such as Arabic. Examples include Google™ Labs' Arabic transliteration site html://www.google.com/transliterate/Arabic, Yamli html://www.yamli.com and Onkosh html://www.onkosh.com.
In general, natural languages such as Semitic languages, in particular Arabic, have diacritics, characters that correspond to the Latin short vowels. However, present transliteration technologies do not support diacritics. As a result, those transliteration technologies do not provide output that closely matches the use of the natural language by real-world speakers.